package com.softer.chengxin.train.controller;

import com.softer.chengxin.common.domin.CommonResult;
import com.softer.chengxin.common.domin.ManagerPageResult;
import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.train.entity.Trainer;
import com.softer.chengxin.train.service.TrainerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author Gong Zhiyang
 * @date 2019/1/19
 */
@RestController
@RequestMapping("/api/trainer")
public class TrainerController {
    @Autowired
    private TrainerService trainerService;

    /**
     * 新增项目经理培训人员
     *
     * @param trainer 培训人员实体
     * @return 新增结果
     */
    @PostMapping("/add")
    public CommonResult add(Trainer trainer) {
        return trainerService.add(trainer);
    }

    /**
     * 删除项目经理培训人员
     *
     * @param id 人员id
     * @return 结果
     */
    @PostMapping("/delete")
    public CommonResult delete(int id) {
        return trainerService.delete(id);
    }

    /**
     * 编辑项目经理培训人员
     *
     * @param trainer 项目经理培训人员
     * @return 编辑结果
     */
    @PostMapping("/edit")
    public CommonResult edit(Trainer trainer) {
        return trainerService.edit(trainer);
    }

    /**
     * 查询项目经理培训人员详情
     *
     * @param id 项目经理培训人员ID
     * @return 项目经理培训人员详情
     */
    @PostMapping("/query")
    public Trainer query(int id) {
        return trainerService.query(id);
    }

    /**
     * 查询项目经理培训人员列表
     *
     * @param page    页面信息
     * @param trainer 查询实体
     * @return 列表
     */
    @PostMapping("/queryList")
    public ManagerPageResult queryList(Page page, Trainer trainer) {
        return trainerService.queryList(page, trainer);
    }

    /**
     * 查询培训类型下拉列表
     *
     * @return 列表
     */
    @PostMapping("/queryTypeList")
    public List<String> queryTypeList() {
        return trainerService.queryTypeList();
    }
}
